package com.sunsy.authserver.wrapper;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sunsy.authserver.beans.dto.AccessTokenDTO;
import com.sunsy.authserver.beans.po.AccessToken;
import com.sunsy.authserver.beans.vo.AccessTokenVO;

/**
 * (AccessToken)表包装类
 *
 * @author makejava
 * @since 2021-07-20 14:34:10
 */
public class AccessTokenWrapper extends AbstractWrapper<AccessToken, AccessTokenVO, AccessTokenDTO>{

  public static AccessTokenWrapper build() {
    return new AccessTokenWrapper();
  }

  /**
   * dto转queryWrapper
   *
   * @param dto 交互数据
   * @return 查询Wrapper
   */
  @Override
  public QueryWrapper<AccessToken> dto2QWrapper(AccessTokenDTO dto) {
    AccessToken po = dto2PO(dto);
    return new QueryWrapper<>(po);
  }

  /**
   * dto转po
   *
   * @param dto 交互数据
   * @return AccessToken 实体对象
   */
  @Override
  public AccessToken dto2PO(AccessTokenDTO dto) {
    return BeanUtil.copyProperties(dto, AccessToken.class);
  }

  /**
   * po转vo
   *
   * @param po 实体对象
   * @return AccessToken 实体展示对象
   */
  @Override
  public AccessTokenVO po2VO(AccessToken po) {
    return BeanUtil.copyProperties(po, AccessTokenVO.class);
  }

}